﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Activity.Projeto.Interfaces;
using NHibernate;
using Activity.Projeto.Model;
using Activity.Projeto.DAO;

namespace Activity.Projeto.Repository
{
    public class AtividadeRepository : IAtividadeRepository
    {
        ISessionFactory _session;

        public AtividadeRepository(ISessionFactory session)
        {
            _session = session;
        }

        public bool CreateAtividade(Atividade atividade)
        { 
            using(var session = _session.OpenSession())
            {
                using(var transaction = session.BeginTransaction())
                {
                        try
                        {
                            new AtividadeDAO().CreateAtividade(session, atividade);
                            transaction.Commit();
                            return true;
                        }
                        catch(Exception e)
                        {
                            transaction.Rollback();
                            throw e;
                        }
                }
            }
        }
    }
}
